{$CLEO .cs}

//-------------MAIN---------------
0000:nop
wait 2000

:SKATE_1 //    
wait 0
if and
 $ACTIVE_INTERIOR == 0   
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2495.1482 -1672.4463 13.3359 radius 50.0 50.0 1.0
Else_jump @SKATE_1a
if  
 not actor.Driving($PLAYER_ACTOR)
Else_jump @SKATE_1a
21@ = 2494.8279
22@ = -1687.9131
23@ = 12.40
jump @SKATE_LOAD_ZONE_HOUSE


:SKATE_1a //      
wait 0
if 
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 203.3745 -43.8405 1001.8047 radius 30.0 30.0 10.0
Else_jump @SKATE_1b
if 
 not actor.Driving($PLAYER_ACTOR)
Else_jump @SKATE_1b
21@ = 196.2
22@ = -37.7577
23@ = 1001.0
24@ = 90.0
25@ = 2
$ONMISSION = 1
0180: set_on_mission_flag_to $ONMISSION
jump @SKATE_LOAD_ZONE_SHOP

:SKATE_1b //      
wait 0
if 
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 204.1884 -140.1389 1003.5078 radius 30.0 30.0 10.0
Else_jump @SKATE_1c
if 
 not actor.Driving($PLAYER_ACTOR)
Else_jump @SKATE_1c
21@ = 204.1884
22@ = -140.489
23@ = 1002.60
24@ = 180.0
25@ = 1
$ONMISSION = 1
0180: set_on_mission_flag_to $ONMISSION
jump @SKATE_LOAD_ZONE_SHOP

:SKATE_1c //        
wait 0
if and
 $ACTIVE_INTERIOR == 3  
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2490.7908 -1705.1812 1018.3437 radius 10.0 10.0 1.0
Else_jump @SKATE_1d
if 
 not actor.Driving($PLAYER_ACTOR)
Else_jump @SKATE_1d
21@ = 2490.7908
22@ = -1705.181
23@ = 1017.20   
jump @ROLLER_LOAD_ZONE_HOUSE

:SKATE_1D //     - BINCO
wait 0
if 
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 213.2355 -109.1071 1006.203 radius 30.0 30.0 10.0
Else_jump @SKATE_1
if 
 not actor.Driving($PLAYER_ACTOR)
Else_jump @SKATE_1
21@ = 213.60
22@ = -109.5
23@ = 1004.65
25@ = 3
$ONMISSION = 1
0180: set_on_mission_flag_to $ONMISSION
jump @SKATE_LOAD_ZONE_SHOP_BINCO

//=============================================================================
:SKATE_LOAD_ZONE_SHOP
 5@ = 2509 // 
gosub @LOAD_new_Object_1
object.Create(3@,5@,21@, 22@, 23@) // 
0453: object 3@ set_rotation 0.0  0.0 24@ 
//object.RemoveReferences(2@)
model.Destroy(5@)
5@ = 327 // 
23@ += 0.5
gosub @LOAD_new_Object_1
object.Create(2@,5@,21@,22@,23@)
//0453: object 2@ set_rotation 60.0  0.0 95.0 
069A: attach_object 2@ to_object 3@ at_offset -0.30 -0.20 0.80 rotation 60.0  -5.0 15.0
object.RemoveReferences(2@)
object.Create(2@,5@,21@,22@,23@)
069A: attach_object 2@ to_object 3@ at_offset -0.30 -0.20 0.60 rotation 60.0  -5.0 15.0
object.RemoveReferences(2@)
object.Create(2@,5@,21@,22@,23@)
069A: attach_object 2@ to_object 3@ at_offset -0.30 -0.20 0.30 rotation 60.0  -5.0 15.0 
object.RemoveReferences(2@)
object.Create(2@,5@,21@,22@,23@)
069A: attach_object 2@ to_object 3@ at_offset -0.30 -0.20 0.0 rotation 60.0  -5.0 15.0
object.RemoveReferences(2@)
object.Create(2@,5@,21@,22@,23@)
069A: attach_object 2@ to_object 3@ at_offset -0.30 -0.20 -0.30 rotation 60.0  -5.0 15.0
object.RemoveReferences(3@)
//0382: set_object 2@ collision_detection 0 // 
model.Destroy(5@)
0390: load_txd_dictionary "SKATE"  // TXD  -        
038F: request_texture "BUY" as  1  // -        
038F: request_texture "BUY2" as  2
038F: request_texture "BUY3" as  3
wait 0
jump @BUY_SKATE_1

:SKATE_LOAD_ZONE_SHOP_BINCO
 5@ = 371 // 
gosub @LOAD_new_Object_1

:SKATE_LOAD_ZONE_SHOP_BINCO_1
wait 0
object.Create(2@,5@,21@, 22@, 23@) // 
21@ -= 0.30
object.Angle(2@) = 90.0
object.RemoveReferences(2@)
if
  21@ <= 211.50
  else_jump @SKATE_LOAD_ZONE_SHOP_BINCO_1
object.RemoveReferences(2@)
21@ = 213.60
22@ = -108.8
23@ = 1004.65

:SKATE_LOAD_ZONE_SHOP_BINCO_2
wait 0
object.RemoveReferences(2@)
object.Create(2@,5@,21@, 22@, 23@) // 
21@ -= 0.30
object.Angle(2@) = 90.0
if
  21@ <= 211.50
  else_jump @SKATE_LOAD_ZONE_SHOP_BINCO_2


21@ -= 0.35
model.Destroy(371)
0390: load_txd_dictionary "SKATE"  // TXD  -        
038F: request_texture "BUY" as  1  // -        
038F: request_texture "BUY2" as  2
038F: request_texture "BUY3" as  3
JUmp @BUY_ROLLER_BINCO_1

:BUY_ROLLER_BINCO_1
wait 0
if 
 0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
 else_jump @BUY_ROLLER_BINCO_2
 jump @BUY_ROLLER_1
 
:BUY_ROLLER_BINCO_2
wait 0
if 
 8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 50.0 50.0 unknown 0
 else_jump @BUY_ROLLER_BINCO_1
 03F0: text_draw_toggle  0 //     
wait 0
0391: release_txd_dictionary //  TXD' 
$ONMISSION = 0
0180: set_on_mission_flag_to $ONMISSION
 jump @SKATE_1
 //========================================================
 :BUY_ROLLER_1
wait 0
038D: create_texture  25@ position  350.0  350.0 scale  200.0  180.0 color  255  255  255 alpha 255
if 
 00E1: key_pressed 0 11 //YES
 else_jump @BUY_ROLLER_2  
010B: 21@ = player $PLAYER_CHAR money 
if
 21@ < 500
 else_jump @ZVUK_ROLLER_1
 03F0: text_draw_toggle  0 //     
 wait 1000 
 gosub @ZVUK_0
jump @BUY_SKATE_2
 
:BUY_ROLLER_2
wait 0
03F0: text_draw_toggle  0 //
if or
 8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 2.0 2.0 unknown 0
 00E1: key_pressed 0 10 //NO
 else_jump @BUY_ROLLER_1
 03F0: text_draw_toggle  0 //     
 wait 1000
 jump @BUY_ROLLER_BINCO_1

 :ZVUK_ROLLER_1
03E5: show_text_box 'FEC_TAB'
0109: player $PLAYER_CHAR money += -500
03F0: text_draw_toggle  0 //     
wait 0
0391: release_txd_dictionary //  TXD'
$ONMISSION = 0
0180: set_on_mission_flag_to $ONMISSION
 
:ZVUK_ROLLER_2
wait 0
03CF: load_wav 4201 as 1 //     1
03D0:   wav 1 loaded  // 
jf @ZVUK_ROLLER_2
03D1: play_wav 1  // 
jump @ROLLER_OBJ_2 
//========================
//========================    
//========================
:BUY_SKATE_1
wait 0
if 
 0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
 else_jump @BUY_SKATE_2
 jump @BUY_SKATE_3
 
:BUY_SKATE_2
wait 0
if
 8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 50.0 50.0 unknown 0
 else_jump @BUY_SKATE_1
03F0: text_draw_toggle  0 //     
wait 0
0391: release_txd_dictionary //  TXD' 
$ONMISSION = 0
0180: set_on_mission_flag_to $ONMISSION
 jump @SKATE_1
//===============================================
 :BUY_SKATE_3
wait 0
038D: create_texture  25@ position  350.0  350.0 scale  200.0  180.0 color  255  255  255 alpha 255
if 
 00E1: key_pressed 0 11 //YES
 else_jump @BUY_SKATE_4  
010B: 21@ = player $PLAYER_CHAR money 
if
 21@ < 500
 else_jump @ZVUK_1
 03F0: text_draw_toggle  0 //     
 wait 1000 
 gosub @ZVUK_0
jump @BUY_SKATE_2

 
:BUY_SKATE_4
wait 0
03F0: text_draw_toggle  0 //
if or
 8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 2.0 2.0 unknown 0
 00E1: key_pressed 0 10 //NO
 else_jump @BUY_SKATE_3
 03F0: text_draw_toggle  0 //     
 wait 1000
 jump @BUY_SKATE_2
//============================
 :ZVUK_0
//040D: unload_wav 1
wait 0
03CF: load_wav 4202 as 1 //     1
03D0:   wav 1 loaded  // 
jf @ZVUK_0
03D1: play_wav 1  // 
return

:ZVUK_1
03E5: show_text_box 'FEC_TAB'
0109: player $PLAYER_CHAR money += -500
03F0: text_draw_toggle  0 //     
wait 0
0391: release_txd_dictionary //  TXD'
$ONMISSION = 0
0180: set_on_mission_flag_to $ONMISSION

:ZVUK_2
//040D: unload_wav 1
wait 0
03CF: load_wav 4201 as 1 //     1
03D0:   wav 1 loaded  // 
jf @ZVUK_2
03D1: play_wav 1  // 
jump @SKATE_2
//=================
:SKATE_LOAD_ZONE_HOUSE  //  
5@ = 327 // 
gosub @LOAD_new_Object_1
object.Create(2@,5@,21@,22@,23@)
0453: object 2@ set_rotation -55.0  -90.0 180.0 
0382: set_object 2@ collision_detection 0 // 
model.Destroy(5@)
jump @SKATE_2

:ROLLER_LOAD_ZONE_HOUSE
5@ = 371 //    #GuN-para
gosub @LOAD_new_Object_1
object.Create(2@,5@,21@,22@,23@)
0453: object 2@ set_rotation -55.0  0.0 180.0 
0382: set_object 2@ collision_detection 0 // 
model.Destroy(5@)
jump @ROLLER_OBJ_2 
//=============================================================================
//=============================================================================
//=============================================================================
:SKATE_2   
wait 0
 if
  83CA: not object 2@ exists
  else_jump @SKATE_2a
  object.Destroy(2@)
 5@ = 327 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.50
 object.Create(2@,5@,21@, 22@, 23@)
 069B: attach_object 2@ to_actor $PLAYER_ACTOR at_offset -0.20 -0.2 -0.20 rotation -10.0 -70.0 -10.0
 model.Destroy(5@)
 jump @SKATE_2a

  :SKATE_2a   //  
  wait 0
  if
  03CA: object 2@ exists
  else_jump @SKATE_3
  if and
   0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
   00E1: key_pressed 0 4 //TAB
   not actor.Driving($PLAYER_ACTOR)
   else_jump @SKATE_3
 object.Destroy(2@)
 5@ = 327 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.0 
 object.Create(2@,5@,21@, 22@, 23@)
 070A: AS_actor $PLAYER_ACTOR attach_to_object 2@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
 model.Destroy(5@)
 jump @SKATE_RUKA_1
 
  :SKATE_3    //  
  wait 0
  if
  03CA: object 2@ exists
  else_jump @SKATE_4
   8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 50.0 50.0 unknown 0 
 else_jump @SKATE_4
 object.Destroy(2@)
 jump @SKATE_1
 
 
 
 :SKATE_4    //   
  wait 0
  if
  03CA: object 2@ exists
  else_jump @SKATE_2
 if and
   00E1: key_pressed 0 15  //-=ENTER-CAR=-     
   not actor.Driving($PLAYER_ACTOR)
   0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
   8685: not object 2@ attached 
   80FE:   not actor $PLAYER_ACTOR sphere 0 in_sphere 203.3745 -43.8405 1001.8047 radius 30.0 30.0 30.0
 else_jump @SKATE_2
 jump @SKATE_DRIVE_1
  //===========================================================================
:SKATE_RUKA_1
 wait 0
  if 
   00E1: key_pressed 0 7 //NEXT_weapon
   else_jump @SKATE_RUKA_2
 object.Destroy(2@)
 5@ = 327 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.50
 object.Create(2@,5@,21@, 22@, 23@)
 069B: attach_object 2@ to_actor $PLAYER_ACTOR at_offset -0.20 -0.2 -0.20 rotation -10.0 -70.0 -10.0
 model.Destroy(5@)
 jump @SKATE_2
 
:SKATE_RUKA_2 
wait 0
 if
 00E1: key_pressed 0 15  //-=ENTER-CAR=-                                            
 else_jump @SKATE_RUKA_1
 object.Destroy(2@)
 5@ = 327 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -1.20
 object.Create(2@,5@,21@, 22@, 23@)
 0453: object 2@ set_rotation 95.0  92.0 -90.0 
 model.Destroy(5@)
 Jump @SKATE_ATACH_CAR_1
 jump @SKATE_2
 //========================================
 //=========== ===================
 //========================================
 :SKATE_ATACH_CAR_1
 wait 0
  0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
   if
   056E: 0@
  else_jump @SKATE_2
  //04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 
   if
    0202:   actor $PLAYER_ACTOR near_car 0@ radius 2.0 2.0 flag 0 
   else_jump @SKATE_2
   0681: attach_object 2@ to_car 0@ at_offset  0.0 0.15 -0.20 rotation -55.0 -70.0 -20.0
  // gosub @WAIT_CAR_MODEL_01d //  
 jump @SKATE_2
 
   
 //==========================
 //==========================LOAD-OBJECT
 //==========================
 :LOAD_new_Object_1
 Model.Load(5@)  
 038B: load_requested_models 
 
 :LOAD_new_Object_2
 wait 0
 if
  model.Available(5@)
  else_jump @LOAD_new_Object_2
  return
  
//==================================
//==================================    
//==================================
  :SKATE_DRIVE_1
  //5@ = 327 // 
  object.Destroy(2@)
  5@ = 481 // #BMX
  gosub @LOAD_new_Object_1
  04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -0.50
  car.Create(0@,5@,21@, 22@, 23@)
  wait 0
  model.Destroy(5@)
  21@ = actor.Angle($PLAYER_ACTOR)
  car.Angle(0@) = 21@
  wait 0 //========================
  5@ = 327 // 
  gosub @LOAD_new_Object_1
  04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -2.50
  object.Create(2@,5@,21@, 22@, 23@)
  wait 0
  model.Destroy(5@)
  0338: set_car 0@ visibility 0
  0681: attach_object 2@ to_car 0@ at_offset 0.0 0.50 -0.45 rotation 85.0 -90.0 0.0
  036A: put_actor $PLAYER_ACTOR in_car 0@
  wait 500
  5@ = 0 // #NULL
  gosub @LOAD_new_Object_1
  3@ = actor.Create(02,5@,2506.0214, -1662.8962, 13.3338)
  wait 0
  0464: put_actor 3@ into_turret_on_car 0@ at_car_offset -0.10 0.0 0.60 position 0 shooting_angle_limit 360.0 with_weapon 0 
  model.Destroy(5@)
  26@ = 36200 //
  wait 1000
   //===========================================================================
   :SKATE_DRIVE_2  //    
   wait 0
  0819: 25@ = actor $PLAYER_ACTOR distance_from_ground //     
  if and
    actor.Driving($PLAYER_ACTOR)
   25@ > 1.20
  else_jump @SKATE_DRIVE_2c
  jump @SKATE_JUMP_1 
  jump @SKATE_DRIVE_2c  
   
  :SKATE_DRIVE_2c //   
  wait 0
  21@ = car.Angle(0@)
  21@ -= 90.0
  actor.Angle(3@) = 21@
  02E3: 24@ = car 0@ speed //   .
  if and
    actor.Driving($PLAYER_ACTOR)
   24@ > 0.10  // 
   else_jump @SKATE_DRIVE_3
  if    //    
   00E1: key_pressed 0 0  //
   else_jump @SKATE_DRIVE_3
   0494: get_joystick_data 0 21@ 22@ 23@ 24@ 
   if
   0019: 21@ > 100 //RIGHT
    else_jump @SKATE_LEFT_1 //LEFT -100
    jump @SKATE_RIGHT_1
  
   :SKATE_DRIVE_3  //  Ш 
   wait 0
   if and
    actor.Driving($PLAYER_ACTOR)
    00E1: key_pressed 0 1
    else_jump @SKATE_DRIVE_4
   0494: get_joystick_data 0 21@ 22@ 23@ 24@ 
   if
   0019: 22@ > 100 //  
  else_jump @SKATE_DOWN_1 //Ш  
  jump @SKATE_UP_1   
  
  :SKATE_DRIVE_4 //  
   wait 0
  if and
    actor.Driving($PLAYER_ACTOR)
    00E1: key_pressed 0 16//Axelerator
  else_jump @SKATE_DRIVE_99
  jump @SKATE_RUNSPEED_1//
  
  :SKATE_DRIVE_99
  wait 0
  04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.20 -0.50 0.0
  if or
   04E7: object 2@ in water
   00E1: key_pressed 0 15  //-=ENTER-CAR=-    
   not actor.Driving($PLAYER_ACTOR)
   else_jump @SKATE_DRIVE_2
   actor.DestroyInstantly(3@)
   099A: set_car 0@ collision_detection 0 // .
   0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 21@ 22@ 23@
   wait 1000
   car.Destroy(0@)
   object.Destroy(2@)
   5@ = 327 // 
   gosub @LOAD_new_Object_1
   04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.20 0.50 -1.10
   object.Create(2@,5@,21@, 22@, 23@)
   21@ = actor.Angle($PLAYER_ACTOR)
   0453: object 2@ set_rotation 195.0  92.0 21@ 
   model.Destroy(5@)
  jump @SKATE_2
  //===========================
  //=========================== 
  //===========================
  :SKATE_RUNSPEED_1//
  wait 0
  04ED: load_animation "GFUNK"
  if
  04EE:   animation "GFUNK" loaded
  else_jump @SKATE_RUNSPEED_1
  0615: define_action_sequences 25@
0605: actor -1 perform_animation_sequence "Dance_B16" from_file "GFUNK" 4.0 loop 0 0 0 1 -1 
0605: actor -1 perform_animation_sequence "Dance_B15" from_file "GFUNK" 4.0 loop 0 0 0 0 -1
0616: define_action_sequences_end 25@ 
0618: assign_actor 3@ to_action_sequences 25@
061B: remove_references_to_action_sequences 25@
  jump @SKATE_DRIVE_99
  
  :SKATE_RIGHT_1    //   ==>
  wait 0
  04ED: load_animation "GFUNK" 
  if
  04EE:   animation "GFUNK" loaded
  else_jump @SKATE_RIGHT_1
  0605: actor 3@ perform_animation_sequence "Dance_B16" from_file "GFUNK" 1004.0 loop 0 0 0 0 -1 ms
  jump @SKATE_DRIVE_99
  
  :SKATE_LEFT_1    //  <==
  wait 0
  04ED: load_animation "GFUNK" 
  if
  04EE:   animation "GFUNK" loaded
  else_jump @SKATE_LEFT_1
  0605: actor 3@ perform_animation_sequence "Dance_B13" from_file "GFUNK" 1004.0 loop 0 1 1 0 time -1
  jump @SKATE_DRIVE_99
 
 :SKATE_UP_1    // 
  wait 0
  04ED: load_animation "TEC" 
  if
  04EE:   animation "TEC" loaded
  else_jump @SKATE_UP_1 
  0605: actor 3@ perform_animation_sequence "TEC_crouchreload" from_file "TEC" 1004.0 loop 0 1 1 0 time -1
  jump @SKATE_DRIVE_99
 
 :SKATE_DOWN_1 //   
   wait 0
  04ED: load_animation "TATTOOS" 
  if
  04EE:   animation "TATTOOS" loaded
  else_jump @SKATE_DOWN_1 
  0605: actor 3@ perform_animation_sequence "TAT_ArmR_In_T" from_file "TATTOOS" 1004.0 loop 0 1 1 0 time -1
  jump @SKATE_DRIVE_99
  
  :SKATE_JUMP_1 //-1
   wait 0
  04ED: load_animation "BIKELEAP" 
  if
  04EE:   animation "BIKELEAP" loaded
  else_jump @SKATE_JUMP_1 
  //0605: actor 3@ perform_animation_sequence "BK_RDY_OUT" from_file "BIKELEAP" 4.0 loop 0 0 0 1 -1 ms
  0819: 25@ = actor $PLAYER_ACTOR distance_from_ground //     
  if
   25@ > 2.0  //    2 
  else_jump @SKATE_JUMP_2
  0605: actor 3@ perform_animation_sequence "BK_RDY_OUT" from_file "BIKELEAP" 4.0 loop 0 0 0 0 -1 ms
  21@ = 0.0
  gosub @SKATE_FINT_1 // 
  jump @SKATE_DRIVE_99
  
  :SKATE_JUMP_2 //-2
   wait 0
  0819: 25@ = actor $PLAYER_ACTOR distance_from_ground //     
  if
   25@ > 1.50  //    1.5 
  else_jump @SKATE_DRIVE_99
  0605: actor 3@ perform_animation_sequence "BK_RDY_OUT" from_file "BIKELEAP" 4.0 loop 0 0 0 0 1000 ms
  21@ = 0.0
  gosub @SKATE_FINT_2 // 
  jump @SKATE_DRIVE_99
  //===============================================
  //================ ==============
  //===============================================
  :SKATE_FINT_1 // 
  wait 0
  21@ += 20.0
  0681: attach_object 2@ to_car 0@ at_offset 0.0 0.50 -0.45 rotation 85.0 -90.0 21@
  if
  21@ > 360.0
  else_jump @SKATE_FINT_1
  0681: attach_object 2@ to_car 0@ at_offset 0.0 0.50 -0.45 rotation 85.0 -90.0 0.0
  gosub @RAMP_1
  return
  
   :SKATE_FINT_2 //
  wait 0
  21@ += 30.0
  0681: attach_object 2@ to_car 0@ at_offset 0.0 0.50 -0.45 rotation 21@ 0.0 90.0
  if
  21@ > 360.0
  else_jump @SKATE_FINT_2
  0681: attach_object 2@ to_car 0@ at_offset 0.0 0.50 -0.45 rotation 85.0 -90.0 0.0
  gosub @RAMP_1
  return
   //============================================
  :RAMP_1 //
  wait 0
  if
   00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 1954.2494 -1366.1249 25.0 radius 2.0 2.0 10.0 
  else_Jump @RAMP_2
  040D: unload_wav 1
  26@ = 36203 
  car.Angle(0@) = 180.0
  gosub @LOAD_WAW
  return
  
  :RAMP_2  //
  wait 0
  if
   00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 1954.4905 -1378.2605 25.0 radius 2.0 2.0 10.0 
  else_Jump @RAMP_99
  040D: unload_wav 1
  26@ = 36200
  car.Angle(0@) = 0.0
  gosub @LOAD_WAW
  return
  
  :RAMP_99
   return
   //==============
:LOAD_WAW
   wait 0
03CF: load_wav 26@ as 1 //     1
03D0:   wav 1 loaded  // 
jf @LOAD_WAW
03D1: play_wav 1  // 
return
//========================================================================
//==============      ===========================
//========================================================================
:LOAD_ANIM_0 //   mkq
04ED: load_animation "SKATE"     //  

:LOAD_ANIM_1 //   .
wait 0
if and  
04EE:   animation "SKATE" loaded //  
04EE:   animation "PED" loaded    // PED   ,     
else_jump @LOAD_ANIM_1 //     .
return // 

//========================================================================
//==================================================================
//========================================================================
 :ROLLER_OBJ_2   //  
  wait 0
  if and
   0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
   00E1: key_pressed 0 4 //TAB
   not actor.Driving($PLAYER_ACTOR)
   else_jump @ROLLER_OBJ_3
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.0 
 object.Create(2@,5@,21@, 22@, 23@)
 070A: AS_actor $PLAYER_ACTOR attach_to_object 2@ offset 0.0 0.0 -0.30 on_bone 5 0 perform_animation "NULL" IFP_file "NULL" time 1
 model.Destroy(5@)
 wait 1000
 jump @ROLLER_RUKA_1
 
  :ROLLER_OBJ_3    //  
  wait 0
  if //or
   //actor.Dead($PLAYER_ACTOR)  
   8471: not unknown_actor $PLAYER_ACTOR near_object 2@ radius 20.0 20.0 unknown 0 
 else_jump @ROLLER_OBJ_2
 object.Destroy(2@)
 wait 1000
 jump @SKATE_1
 
 :ROLLER_OBJ_4
wait 0
 if and
 0685: object 2@ attached
 00E1: key_pressed 0 15  //-=ENTER-CAR=-                                            
 else_jump @ROLLER_OBJ_2
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset -1.0 0.20 -1.0
 object.Create(2@,5@,21@, 22@, 23@)
 0453: object 2@ set_rotation 0.0  0.0 -90.0 
 model.Destroy(5@)
 wait 1000
 jump @ROLLER_OBJ_2 
 //========================================================================
 :ROLLER_RUKA_1
 wait 0
 if
  83CA: not object 2@ exists
  else_jump @ROLLER_RUKA_1a
  object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -1.0
 object.Create(2@,5@,21@, 22@, 23@)
 0453: object 2@ set_rotation 1.0  1.0 -90.0 
 model.Destroy(5@)
 wait 1000
jump @ROLLER_RUKA_1
 
 :ROLLER_RUKA_1a
 wait 0
  if and
   03CA: object 2@ exists 
   00E1: key_pressed 0 7 //NEXT_weapon
   else_jump @ROLLER_RUKA_2
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.50
 object.Create(2@,5@,21@, 22@, 23@)
 069B: attach_object 2@ to_actor $PLAYER_ACTOR at_offset 0.0 -0.10 0.30 rotation 0.0 0.0 0.0
 model.Destroy(5@)
 jump @ROLLER_OBJ_2
 
:ROLLER_RUKA_2
wait 0
 if and
 03CA: object 2@ exists 
 00E1: key_pressed 0 15  //-=ENTER-CAR=-                                            
 else_jump @ROLLER_RUKA_3
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -1.0
 object.Create(2@,5@,21@, 22@, 23@)
 0453: object 2@ set_rotation 1.0  1.0 -90.0 
 model.Destroy(5@)
 wait 1000
Jump @ROLLER_ATACH_CAR_1
// jump @ROLLER_OBJ_2 
 
 :ROLLER_RUKA_3    //   
  wait 0
 if and 
   03CA: object 2@ exists                                           
   00E1: key_pressed 0 4  //-=TAB=-     
   not actor.Driving($PLAYER_ACTOR)
 else_jump @ROLLER_RUKA_1
 if
 0471: unknown_actor $PLAYER_ACTOR near_object 2@ radius 1.0 1.0 unknown 0
 else_jump @ROLLER_RUKA_1
 5@ = 99 //   51-99
 gosub @LOAD_new_Object_1
 09C7: change_player $PLAYER_CHAR model_to 99
 model.Destroy(5@)
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.50
 object.Create(2@,5@,21@, 22@, 23@)
 21@ = actor.Angle($PLAYER_ACTOR)
 object.Angle(2@) = 21@
 069B: attach_object 2@ to_actor $PLAYER_ACTOR at_offset 0.0 -0.15 0.30 rotation 0.0 0.0 0.0
 //070A: AS_actor $PLAYER_ACTOR attach_to_object 2@ offset -0.03 -0.17 -0.10 on_bone 16 0 perform_animation "NULL" IFP_file "NULL" time 1
 model.Destroy(5@)
 wait 1000
 jump @ROLLERS_RUN_1
 //========================================
 //=========== ===================
 //========================================
 :ROLLER_ATACH_CAR_1
 wait 0
  0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
   if
   056E: 0@
  else_jump @ROLLER_OBJ_2 
   if
    0202:   actor $PLAYER_ACTOR near_car 0@ radius 2.0 2.0 flag 0 
   else_jump @ROLLER_OBJ_2 
   0681: attach_object 2@ to_car 0@ at_offset  -0.40 -0.20 -0.10 rotation 20.0 30.0 0.0
 jump @ROLLER_OBJ_2
//========================================================================
//========================================================================
//========================================================================
:ROLLERS_RUN_1
wait 0
068D: get_camera_position_to 24@ 25@ 23@  //  
actor.StorePos($PLAYER_ACTOR, 21@, 22@, 23@)  //        
000f: 21@ -= 24@
000f: 22@ -= 25@
0604: get_Z_angle_for_point 21@ 22@ store_to 23@  //   Z
actor.Angle($PLAYER_ACTOR) = 23@
0494: get_joystick 0 data 21@ 22@ 23@ 24@ 
if
0 > 22@    //
else_jump @ROLLERS_RUN_2
gosub @LOAD_ANIM_0
if
 80E1: not key_pressed 0 16//
else_jump @ROLLER_RUNER_1
0605: actor $PLAYER_ACTOR perform_animation_sequence "skate_run" IFP_file "SKATE" 1004.0 loop 0 1 1 0 time -1
jump @ROLLERS_RUN_1 

:ROLLERS_RUN_2
wait 0
0605: actor $PLAYER_ACTOR perform_animation_sequence "skate_idle" IFP_file "SKATE" 1004.0 loop 0 1 1 0 time -1
if or
actor.Dead($PLAYER_ACTOR)         
00E1: key_pressed 0 15//enter
else_jump @ROLLERS_RUN_1
 5@ = 0 // 
 gosub @LOAD_new_Object_1
 09C7: change_player $PLAYER_CHAR model_to #NULL
 0605: actor $PLAYER_ACTOR perform_animation_sequence "JMP_Wall1m_180" IFP_file "SKATE" 1004.0 loop 0 1 1 0 time -1
 wait 1000
 object.Destroy(2@)
 5@ = 371 // 
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.50
 object.Create(2@,5@,21@, 22@, 23@)
 069B: attach_object 2@ to_actor $PLAYER_ACTOR at_offset 0.0 -0.10 0.30 rotation 0.0 0.0 0.0
 model.Destroy(5@)
jump @ROLLER_OBJ_2
//========================================================================
:ROLLER_RUNER_1
0605: actor $PLAYER_ACTOR perform_animation_sequence "skate_sprint" IFP_file "SKATE" 1004.0 loop 0 1 1 0 time -1
jump @ROLLERS_RUN_1